package conversao;

// Alterado pelo Miller.
public class ConversorParaDecimal {

    /*
     * Converte numero no formato binario para o formato decimal.
     */
    public int Converta(String valor) {
        int resposta = 0;
        if (valor.length() < 1) {
            throw new NumberFormatException();
        }
        if (valor.length() > 25) {
            throw new IllegalArgumentException();
        } else {
            for (int i = valor.length() - 1; i >= 0; i--) {
                try {
                    int digito = Integer.valueOf(String.valueOf(valor.charAt(valor.length() - 1 - i)));
                    if (digito > 1) {
                        throw new NumberFormatException();
                    } else {
                        resposta += digito * Math.pow(2, i);
                    }
                } catch (Exception e) {
                    throw new NumberFormatException();
                }
            }
        }
        return resposta;
    }
}
